
namespace ZR.Model.ProdManage.Dto
{
    /// <summary>
    /// bom信息查询对象
    /// </summary>
    public class ProdBomQueryDto : PagerInfo
    {
        /// <summary>
        /// 产品编号 
        /// </summary>
        public string ItemNo { get; set; }
        /// <summary>
        /// 零件号 
        /// </summary>
        public string PartCode { get; set; }
        /// <summary>
        /// 是否填充(0=否,1=是) 
        /// </summary>
        public string IsFill { get; set; }
        /// <summary>
        /// DMS订单 
        /// </summary>
        public string DmsOrderNo { get; set; }
        /// <summary>
        /// 计划号 
        /// </summary>
        public string PlanNo { get; set; }
    }

    /// <summary>
    /// bom信息输入输出对象
    /// </summary>
    public class ProdBomDto
    {
        /// <summary>
        /// bom主键 
        /// </summary>
        [Required(ErrorMessage = "bom主键不能为空")]
        [ExcelColumn(Name = "bom主键")]
        [ExcelColumnName("bom主键")]
        public string BomId { get; set; }

        /// <summary>
        /// 产品编号 
        /// </summary>
        [Required(ErrorMessage = "产品编号不能为空")]
        [ExcelColumn(Name = "产品编号")]
        [ExcelColumnName("产品编号")]
        public string ItemNo { get; set; }

        /// <summary>
        /// 产品类型 
        /// </summary>
        [Required(ErrorMessage = "产品类型不能为空")]
        [ExcelColumn(Name = "产品类型")]
        [ExcelColumnName("产品类型")]
        public string ItemType { get; set; }

        /// <summary>
        /// 零件号 
        /// </summary>
        [Required(ErrorMessage = "零件号不能为空")]
        [ExcelColumn(Name = "零件号")]
        [ExcelColumnName("零件号")]
        public string PartCode { get; set; }

        /// <summary>
        /// 用量 
        /// </summary>
        [Required(ErrorMessage = "用量不能为空")]
        [ExcelColumn(Name = "用量")]
        [ExcelColumnName("用量")]
        public decimal Qty { get; set; }

        /// <summary>
        /// 生效时间 
        /// </summary>
        [ExcelColumn(Name = "生效时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("生效时间")]
        public DateTime? EffectDate { get; set; }

        /// <summary>
        /// 失效时间 
        /// </summary>
        [ExcelColumn(Name = "失效时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("失效时间")]
        public DateTime? ExpirationDate { get; set; }

        /// <summary>
        /// 变更编号 
        /// </summary>
        [ExcelColumn(Name = "变更编号")]
        [ExcelColumnName("变更编号")]
        public string ChangeNo { get; set; }

        /// <summary>
        /// 供应商 
        /// </summary>
        [ExcelColumn(Name = "供应商")]
        [ExcelColumnName("供应商")]
        public string SupplierCode { get; set; }

        /// <summary>
        /// 仓库 
        /// </summary>
        [ExcelColumn(Name = "仓库")]
        [ExcelColumnName("仓库")]
        public string WareCode { get; set; }

        /// <summary>
        /// 是否填充(0=否,1=是) 
        /// </summary>
        [Required(ErrorMessage = "是否填充(0=否,1=是)不能为空")]
        [ExcelColumn(Name = "是否填充(0=否,1=是)")]
        [ExcelColumnName("是否填充(0=否,1=是)")]
        public string IsFill { get; set; }

        /// <summary>
        /// DMS订单 
        /// </summary>
        [ExcelColumn(Name = "DMS订单")]
        [ExcelColumnName("DMS订单")]
        public string DmsOrderNo { get; set; }

        /// <summary>
        /// 计划号 
        /// </summary>
        [ExcelColumn(Name = "计划号")]
        [ExcelColumnName("计划号")]
        public string PlanNo { get; set; }

        /// <summary>
        /// 获取类型（E：自制件；F：外购件） 
        /// </summary>
        [ExcelColumn(Name = "获取类型（E：自制件；F：外购件）")]
        [ExcelColumnName("获取类型（E：自制件；F：外购件）")]
        public string ObtainType { get; set; }

        /// <summary>
        /// 管理员（HZF：焊装分总成；ZZF：总成分总成） 
        /// </summary>
        [ExcelColumn(Name = "管理员（HZF：焊装分总成；ZZF：总成分总成）")]
        [ExcelColumnName("管理员（HZF：焊装分总成；ZZF：总成分总成）")]
        public string CreateUser { get; set; }

        /// <summary>
        /// 创建人 
        /// </summary>
        [ExcelColumn(Name = "创建人")]
        [ExcelColumnName("创建人")]
        public string CreateBy { get; set; }

        /// <summary>
        /// 创建时间 
        /// </summary>
        [ExcelColumn(Name = "创建时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("创建时间")]
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 更新人 
        /// </summary>
        [ExcelColumn(Name = "更新人")]
        [ExcelColumnName("更新人")]
        public string UpdateBy { get; set; }

        /// <summary>
        /// 更新时间 
        /// </summary>
        [ExcelColumn(Name = "更新时间", Format = "yyyy-MM-dd HH:mm:ss", Width = 20)]
        [ExcelColumnName("更新时间")]
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 备注 
        /// </summary>
        [ExcelColumn(Name = "备注")]
        [ExcelColumnName("备注")]
        public string Remark { get; set; }
    }


    /// <summary>
    /// 推送Bom信息对象
    /// </summary>
    public class WmsBomDto
    {
        /// <summary>
        /// 产品编号
        /// </summary>
        public string itemNo { get; set; }
        /// <summary>
        /// 产品类型
        /// </summary>
        public string itemType { get; set; }
        /// <summary>
        /// 零件号
        /// </summary>
        public string partCode { get; set; }
        /// <summary>
        /// 用量
        /// </summary>
        public decimal qty { get; set; }
        /// <summary>
        /// 生效时间
        /// </summary>
        public DateTime? effectDate { get; set; }
        /// <summary>
        /// 失效时间
        /// </summary>
        public DateTime? expirationDate { get; set; }
        /// <summary>
        /// 变更编号
        /// </summary>
        public string changeNo { get; set; }
        /// <summary>
        /// 供应商
        /// </summary>
        public string supplierCode { get; set; }
        /// <summary>
        /// 仓库
        /// </summary>
        public string wareCode { get; set; }
        /// <summary>
        /// 是否填充
        /// </summary>
        public string isFill { get; set; }
        /// <summary>
        /// DMS订单号
        /// </summary>
        public string dmsOrderNo { get; set; }
        /// <summary>
        /// 计划号
        /// </summary>
        public string planNo { get; set; }
        /// <summary>
        /// 获取类型（E：自制件；F：外购件）
        /// </summary>
        public string obtainType { get; set; }
        /// <summary>
        /// 管理员（HZF：焊装分总成；ZZF：总成分总成）
        /// </summary>
        public string createUser { get; set; }


    }
}